package com.rabbiter.fm.common.utils;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class PathUtils {
//    原始
//    public static String getClassLoadRootPath() {
//        String path = "";
//        try {
//            String prePath = URLDecoder.decode(PathUtils.class.getClassLoader().getResource("").getPath(),"utf-8").replace("/target/classes", "");
//            String osName = System.getProperty("os.name");
//            if (osName.toLowerCase().startsWith("mac")) {
//                // 苹果
//                path = prePath.substring(0, prePath.length() - 1);
//            } else if (osName.toLowerCase().startsWith("windows")) {
//                // windows
//                path = prePath.substring(1, prePath.length() - 1);
//            } else if(osName.toLowerCase().startsWith("linux") || osName.toLowerCase().startsWith("unix")) {
//                // unix or linux
//                path = prePath.substring(0, prePath.length() - 1);
//            } else {
//                path = prePath.substring(1, prePath.length() - 1);
//            }
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        }
//        return path;
//    }


    public static String getClassLoadRootPath() {
        String path = "";
        try {
            // 获取类加载器的资源路径
            String resourcePath = PathUtils.class.getProtectionDomain()
                    .getCodeSource()
                    .getLocation()
                    .getPath();

            // 解码路径（处理特殊字符）
            resourcePath = URLDecoder.decode(resourcePath, "UTF-8");

            // 生产环境：返回 JAR 包所在目录
            path = new File(resourcePath).getParent();
            path="C:\\a_code\\save_img";
//            System.out.println("保存文件的地址"+path);
            System.out.println("保存文件的地址"+path);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return path;
    }

}
